class code2 {
    public boolean isValid(String s) {
        HashMap<Character,Character> map = new HashMap<>();
        map.put('}','{');
        map.put(']','[');
        map.put(')','(');
        Stack<Character> st = new Stack<>();

        for(char ch:s.toCharArray()) {
            if(map.containsValue(ch)) {
                //左括号
                st.push(ch);
            }else {
                //右括号
                if(!st.isEmpty() && map.get(ch) == st.peek()) {
                    st.pop();
                } else {
                    return false;
                }
            }
        }
        return st.isEmpty();
    }
}